package main

import (
	"fmt"
)

/*
	异常处理 panic recover defer
	panic  错误 导致程序崩溃
	1忘记初始化
	2并发安全
	3网络  数据库连接
	4数组越界

	defer 数据延迟处理
	1close free
	2conn连接数据库  defer close -->error->close(conn)

*/
func Panic_func() {
	panic("12311")
}
func main() {
	fmt.Println("wujiangpan")
	defer func() {
		if err := recover(); err != nil {
			strerr := fmt.Sprintf("%s", err)
			fmt.Println("strerr", strerr)
		}
	}()
	fmt.Println("data:")
	Panic_func()
	fmt.Println("data:")
}
